// C17 ��
// ����� ���� ����� ������������

// ��������� ���������� �������, ������� ����������, ����� ��, ��� � ������ ����� ����� ���� ����� ������������.

// int is_happy_number(int n)

// ������ �� �����: 		����� �� ������������� ����� 
// ������ �� ������: 	YES ��� NO 

// ������ �1
// ������ �� �����: 		123 
// ������ �� ������: 	YES 

// ������ �2
// ������ �� �����: 		528 
// ������ �� ������: 	NO



#include <stdio.h>
#include <locale.h>

int is_happy_number(int n)
{
    static int sum=0, mult=1;
    if (n)
    {
        sum+=n%10;
        mult*=n%10;
        return is_happy_number(n/10);
    }
    return (mult==sum)?1:0;
}

int main(void)
{
    unsigned int number;
    setlocale(LC_ALL, "Rus");
    printf("������� ����� �����\n");
    scanf("%d",&number);
    if (!number) //�� ������ ����� 0
    {
        printf("YES");
    }
    else
        printf("%s\n",is_happy_number(number)?"YES":"NO");
    return 0;
}